<!-- saved from url=(0007)http:// -->
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>AIMLBot.cGraphMaster</TITLE>
<LINK REL=STYLESHEET HREF="../CommentReport.css" TYPE="text/css">
</HEAD>
<BODY topmargin=0 rightmargin=0 leftmargin=0 style="background-image: url(../titletile.jpg); background-repeat:repeat-x; background-position: 0 0;" >
<DIV CLASS="PageHeading">AIMLBot.cGraphMaster Class</DIV>
<DIV CLASS="Description">

The pattern matching algorithm that is the heart of an AIML bot.
Based upon the work of Dr.Richard Wallace (http://www.alicebot.org/).
<P>

</DIV>
<IMG src="../GradLeft.jpg" width=7 height=378 alt="" border="0" style="position:absolute; left:10; top:18;z-Index:2">
<IMG src="../GradTop.jpg" width=352 height=7 alt="" border="0" align="top" style="position:absolute; left:10; top:18; z-index:1">
<DIV CLASS="Remarks">
<SPAN CLASS="RemarkHdrX">Access: </SPAN>Public</DIV>
<DIV CLASS="Remarks">
<SPAN CLASS="RemarkHdrX">Base Classes: </SPAN>Object</DIV>
<TABLE CLASS="InfoTable" cellpadding=0 cellspacing=0>
<TR height=20>
<TD width=20>&nbsp;</TD>
<TD valign=top align=left width=9 bgcolor="#cccc66"><IMG SRC="../graycorner.jpg" align=top></TD>
<TD CLASS="TableLightLabel" WIDTH=206>Members</TD>
<TD CLASS="TableLightLabel" >Description</TD>
<TD width=20>&nbsp;</TD>
</TR>
<TR height=20>
<TD width=20>&nbsp;</TD>
<TD CLASS="TableLightDesc">&nbsp;</TD>
<TD CLASS="TableLightDesc"><A HREF="CWP65.HTM" TARGET="CNTFRAME">rootNodeMapper</A></TD>
<TD CLASS="TableLightDesc">
This nodemapper is the root of the Graphmaster structure
<P>
</TD>
<TD width=20>&nbsp;</TD>
</TR><TR height=20>
<TD width=20>&nbsp;</TD>
<TD CLASS="TableLightDesc">&nbsp;</TD>
<TD CLASS="TableLightDesc"><A HREF="CWP67.HTM" TARGET="CNTFRAME">cGraphMaster</A></TD>
<TD CLASS="TableLightDesc">
Constructor does nothing
<P>
</TD>
<TD width=20>&nbsp;</TD>
</TR><TR height=20>
<TD width=20>&nbsp;</TD>
<TD CLASS="TableLightDesc">&nbsp;</TD>
<TD CLASS="TableLightDesc"><A HREF="CWP68.HTM" TARGET="CNTFRAME">addCat</A></TD>
<TD CLASS="TableLightDesc">
Adds a new category to the Graphmaster structure
<P>
</TD>
<TD width=20>&nbsp;</TD>
</TR><TR height=20>
<TD width=20>&nbsp;</TD>
<TD CLASS="TableLightDesc">&nbsp;</TD>
<TD CLASS="TableLightDesc"><A HREF="CWP69.HTM" TARGET="CNTFRAME">evaluate</A></TD>
<TD CLASS="TableLightDesc">
Searches for a cCategory within the Graphmaster structure given a certain input
<P>
</TD>
<TD width=20>&nbsp;</TD>
</TR></TABLE>
<DIV CLASS="RemarkHdr">Remarks:</DIV>
<DIV CLASS="Remarks">

To quote from the Java Graphmaster implementation:

"The Graphmaster is the brain of an [AIML]bot. It consists of a collection
of nodes called Nodemappers [represented by cNodeMapper in this C# version - NT].
These Nodemappers map the branches from each node. The brances are either
singe words or wildcards.<br/>

The root of the Graphmaster is a Nodemapper with many branches, one for each
of the first words of all the patterns (40,000 in the case of the original
A.L.I.C.E. brain). The number of leaf nodes in the graph is equal to the number
of categories, and each leaf node contains the template tag."

For a clear specification of what is going on here read the AIML specification 
v1.0.1 that is available at:

http://www.alicebot.org/TR/2001/WD-aiml/
<P>
</DIV>
</BODY>
</HTML>
